package com.aboo.service;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.aboo.po.BasePO;

public interface IService {
	
	/**
	 * 保存PO
	 * @param po
	 * @return
	 */
	public Serializable save(BasePO po);
	
	/**
	 * 批量PO列表
	 * @param list
	 * @return
	 */
	public List<Serializable> save(List<BasePO> list);
	
	/**
	 * 删除PO
	 * @param po
	 * @return
	 */
	public boolean delete(BasePO po);
	
	/**
	 * 删除PO列表
	 * @param po
	 * @return
	 */
	public boolean delete(List<BasePO> list);
	
	/**
	 * 修改PO
	 * @param po
	 * @return
	 */
	public boolean update(BasePO po);
	
	/**
	 * 修改PO列表
	 * @param list
	 * @return
	 */
	public boolean update(List<BasePO> list);
	
	/**
	 * 根据主键来查找PO
	 * @param primaryKey
	 * @return
	 */
	public BasePO findByPrimaryKey(int primaryKey);
	
	/**
	 * 根据HQL语句和条件来查找对应记录
	 * @param hqlSQL HQL语句
	 * @param params 查询条件
	 * @return
	 */
	public List<BasePO> findByCondition(String hqlSQL,
			Map<String, Object> params);
	
}
